package com.neuedu.javase.tools;

/***
 * 项目名称:  MyJavaSE 
 * 包：  com.neuedu.javase.tools 
 * date:   2025/10/29   11:41  
 * 描述:  
 *  @author : 张金山
 *  作者博客:   https://blog.fulfill.com.cn
 */
public class MyObject {

    public static void main(String[] args) {

        Student student = new Student("张三",29);

        /**
         *
         * Object 类中的 tostring
         *  public String toString() {
         *         return getClass().getName() + "@" + Integer.toHexString(hashCode());
         *     }
         */
        // System.out.println(student.toString());

        // 打印对象 实际打印的是toString方法的返回值
        // System.out.println(student);

        /**
         * 输出的结果 com.neuedu.javase.tools.Student@3b07d329
         */


        //重写toString  会调用  student 类型上的toString
        System.out.println(student);


    }

}

/**
 * 内部类  所有的类 默认继承Object
 */
class Student extends  Object   {
    private String name;
    private  int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }


    // //重写toString  [手写 ]
    // public String toString() {
    //     return "name = "+this.name+"  ,age = "+this.age+"";
    // }


    /**
     *  使用IDEA中提供的 模板生成 toString()
     * //       ALT +INSERT   toString
     *
     * @return
     */
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

